﻿using AJWPFAdmin.Services.AppointAPI.Qingdao;
using WebApiClientCore.Attributes;


namespace AJWPFAdmin.Services.AppointAPI
{
    [LoggingFilter(Enable = false)]
    [QingdaoHostFilter]
    public interface IQingdaoApiImplement : IQingdaoApiService
    {
        /// <summary>
        /// 获取api的token
        /// </summary>
        /// <param name="request">请求报文</param>
        /// <returns></returns>

        [HttpPost("/api/auth/getToken")]
        Task<QingdaoBaseCommonRes> GetToken([JsonContent] QingdaoBaseCommonReq request);

        /// <summary>
        /// 企业出入口
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost("/api/sync/entGate")]
        [QingdaoHeaderFilter]
        Task<QingdaoBaseCommonRes> PostEntGateInfo([JsonContent] QingdaoBaseCommonReq request);

        /// <summary>
        /// 门禁道闸信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost("/api/sync/entDeviceBinding")]
        [QingdaoHeaderFilter]
        Task<QingdaoBaseCommonRes> PostBindingInfo([JsonContent] QingdaoBaseCommonReq request);

        /// <summary>
        /// 车辆信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost("/api/sync/vehicle")]
        [QingdaoHeaderFilter]
        Task<QingdaoBaseCommonRes> PostVehicleInfo([JsonContent] QingdaoBaseCommonReq request);


        /// <summary>
        /// 接收企业车辆进出信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost("/api/sync/transport")]
        [QingdaoHeaderFilter]
        Task<QingdaoBaseCommonRes> PostShippingRecordInfo([JsonContent] QingdaoBaseCommonReq request);

        /// <summary>
        /// 接收企业厂内运输车辆信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost("/api/sync/entCarInfo")]
        [QingdaoHeaderFilter]
        Task<QingdaoBaseCommonRes> PostTruckInfo([JsonContent] QingdaoBaseCommonReq request);

        /// <summary>
        /// 场内非道路移动机械信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost("/api/sync/nonRoadMechanics")]
        [QingdaoHeaderFilter]
        Task<QingdaoBaseCommonRes> PostNonRoadMechanicsInfo([JsonContent] QingdaoBaseCommonReq request);

        /// <summary>
        /// 排放超标信息核实结果上传
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost("/api/sync/emiRiseUploadInfo")]
        [QingdaoHeaderFilter]
        Task<QingdaoBaseCommonRes> PostEmissionExceedanceVerificationInfo([JsonContent] QingdaoBaseCommonReq request);

        /// <summary>
        /// 附件上传
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost("/api/sync/upload")]
        [QingdaoHeaderFilter]
        Task<QingdaoBaseCommonRes> PostFileInfo([JsonContent] QingdaoUploadFileInfoReq request);


        /// <summary>
        /// 违规进出入视频记录
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost("/api/sync/violationVideo")]
        [QingdaoHeaderFilter]
        Task<QingdaoBaseCommonRes> PostViolationRecordInfo([JsonContent] QingdaoBaseCommonReq request);


        /// <summary>
        /// 车辆信息校验
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost("/api/sync/checkCarInfo")]
        [QingdaoHeaderFilter]
        Task<QingdaoBaseCommonRes> CheckCarInfo([JsonContent] QingdaoBaseCommonReq request);

        /// <summary>
        /// 上传车辆信息-车辆列表里
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        [HttpPost("/api/sync/vehicleSubmit")]
        [QingdaoHeaderFilter]
        Task<QingdaoBaseCommonRes> PostVehicleSubmit([JsonContent] QingdaoBaseCommonReq request);


    }
}
